Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.05.2018, 16:08
Аватар для arahmanov
Профессор
Отправить личное сообщение для arahmanov Посмотреть профиль Найти все сообщения от arahmanov
 
Регистрация: 26.01.2011
Сообщений: 197

asyncawait или три дня мучений
Добры день, Уважаемые форумчане, помогите пожалуйста разобраться!

использую модуль asyncawait
Ответ выполняемого ниже скрипта []
не успевает в otvet записать данные из
сonnection.query("SELECT * FROM form  WHERE  id_form = '"+forma+"'");


пробовал вещать await на connection.query одна фигня.
Подскажите что я делаю не так ?

причем если в функциях не использовать запросы к бд, все выполняется четко и поочередно.
Почему в данном случаем не работает ???
Большое спасибо!

var otvet = connection.query("SELECT * FROM form  WHERE  id_form = '"+forma+"'");


var mysql = require('mysql');
var connection = mysql.createConnection({
host:'192.168.10.68',
user:'root',
password:'root',
database:'Master'
});

var async = require('asyncawait/async');
var await = require('asyncawait/await'); 

var test= async (function() {
var parm1 = await(step_1f(forma)); //Шаг первый 
console.log(parm1);
//var parm1 =await(step_2f(parm1));

return 'я все!';

});

test().then(function (result) {
    console.log(result);
})


function step_1f(forma){
var otvet = connection.query("SELECT * FROM form  WHERE  id_form = '"+forma+"'");
return otvet._results;
};
Ответить с цитированием
  #2 (permalink)  
Старый 29.05.2018, 16:10
Аватар для arahmanov
Профессор
Отправить личное сообщение для arahmanov Посмотреть профиль Найти все сообщения от arahmanov
 
Регистрация: 26.01.2011
Сообщений: 197

Прошу прощения, походу разделом ошибся!
Ответить с цитированием
  #3 (permalink)  
Старый 29.05.2018, 21:17
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,598

Потому что надо
var otvet = await connection.query("SELECT * FROM form  WHERE  id_form = '"+forma+"'");
Иначе смысла никакого нет. Толку от того, что вы await'аете step_1f, если энтот ваш step_1f сам по себе никакого otvet'a не ждёт и моментально возвращает undefined?)
__________________
29375, 35

Последний раз редактировалось Aetae, 29.05.2018 в 21:19.
Ответить с цитированием
  #4 (permalink)  
Старый 31.05.2018, 12:12
Аватар для arahmanov
Профессор
Отправить личное сообщение для arahmanov Посмотреть профиль Найти все сообщения от arahmanov
 
Регистрация: 26.01.2011
Сообщений: 197

Сообщение от Aetae Посмотреть сообщение
Потому что надо
var otvet = await connection.query("SELECT * FROM form  WHERE  id_form = '"+forma+"'");
Иначе смысла никакого нет. Толку от того, что вы await'аете step_1f, если энтот ваш step_1f сам по себе никакого otvet'a не ждёт и моментально возвращает undefined?)
Спасибо! за совет!
Решил пока понять как работают промисы, чтобы с пониманием подойти asyncawait .
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разместим Вашу тему на СЕО-форумах, АП темы каждые 3 дня xetedata Работа 0 04.01.2018 11:32
Кастомный селект, чекбокс, радио vostok Ваши сайты и скрипты 0 12.08.2013 00:33
jQuery Ajax - 3 дня мучений :) grusha jQuery 4 01.09.2010 06:53